System and method for automatically generating an electronic journal

ABSTRACT

A system and method of the subject technology automatically generates an electronic journal of a series of events based on input from data sources already used to record the series of events, and then displays those events in an electronic publication representative of the series of events. A GPS track may be used in connection with the series of events to generate the electronic journal in connection with an interactive map.

TECHNICAL FIELD

The subject technology relates generally to electronic publications,namely a system and method for automatically generating an electronicjournal.

BACKGROUND

Electronic journals include online publications that provide commentaryor news on a particular subject over a period of time, for example, tochronicle a trip or vacation. Such journals may be maintained in a blogformat wherein an author manually creates entries for a series of eventsto be displayed in reverse-chronological order. Updating a blog oftenrequires a great deal of manual compilation including input and transferof data from the various data sources used to record the events (forexample, digital cameras, GPS location trails, tweets, and the like).Moreover, a blog format is not always suited for portraying a realisticnarration of a sequential series of events. A reader of a blog is oftenforced to discern the sequence and/or nature of the relationship betweenposted events by scrolling along the length of the blog on a singledisplay.

SUMMARY

The subject technology provides a computer implemented method ofgenerating an electronic journal. In some aspects, the method includesreceiving GPS location data from one or more data devices, determining atravel route from the GPS location data, receiving one or more datarecordings (for example, one or more digital images, videos, textmessages, and/or the like) from the one or more data devices, extractingmeta-data (for example, a timestamp) from the one or more datarecordings, correlating the meta-data with the travel route to generateone or more travel events, each travel event including one or morerespective data recordings associated with a location on the travelroute.

In one aspect, the method may include providing an interactive mapincluding the travel route and one or more event representationspositioned along the travel route, each of the event representationsoperable to, when selected, display one or more respective travelevents. In another aspect, the method may include generating achronological storyline representative of the one or more travel eventsalong the travel route and operable to be displayed in combination withan interactive map representative of the travel route, wherein thechronological storyline displays at least one of the one or more datarecordings in connection with displaying the one or more travel events.

It is understood that other configurations of the subject technologywill become readily apparent to those skilled in the art from thefollowing detailed description, wherein various configurations of thesubject technology are shown and described by way of illustration. Aswill be realized, the subject technology is capable of other anddifferent configurations and its several details are capable ofmodification in various other respects, all without departing from thescope of the subject technology. Accordingly, the drawings and detaileddescription are to be regarded as illustrative in nature and not asrestrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

A detailed description will be made with reference to the accompanyingdrawings:

FIG. 1 is an exemplary diagram of a system for automatically generatingan electronic journal, including a user interface and a data manager formanaging a variety of data, according to one aspect of the subjecttechnology.

FIG. 2 is an exemplary diagram of an automatically generated electronicjournal according to one aspect of the subject technology.

FIG. 3 is an exemplary diagram of associating GPS data from multiplejournal authors according to one aspect of the subject technology.

FIG. 4 is a flowchart illustrating a process for generating aninteractive journal according to one aspect of the subject technology.

FIG. 5 is an exemplary diagram of a system for automatically generatingan electronic journal, including a user interface for uploading avariety of data, according to one aspect of the subject technology.

FIG. 6 is a diagram illustrating an exemplary server system forautomatically generating an electronic journal, including a processorand other internal components, according to one aspect of the subjecttechnology.

DETAILED DESCRIPTION

The subject technology provides a system and method for automaticallygenerating an electronic journal. In this regard, the system and methodmay infer user activities from data collected from devices and/or datasources already used to record the details of the activities (forexample, digital cameras, smart phones, GPS devices, and the like), andgenerate a chronological diary of user activities at specific placesover a period of time (for example, during a trip).

For example, a user on a trip through the Himalaya mountains may, atcertain times, take digital photos, videos, and post messages to a blogor social network during the trip. At the same time, a location-awaredevice (for example, a GPS-enabled smart phone) may collect locationdata (for example, GPS position information, latitude and longitudecoordinates, altitude information, cartography data, or the like). Usingthe subject technology, the various recorded data may be collectedduring or at the end of the trip from the disparate data sources andused to generate an electronic journal that portrays a chronologicalstoryline of the trip. In one aspect, a virtual travel route (forexample, path) may be generated from the collected location data anddisplayed in connection with an interactive map. The virtual travelroute may be integrated with the other recorded data (for example,digital photos, video, text messages, and the like) via a user interfaceto generate a visual representation of the user's experience along theroute taken during the trip. Thus, with a few clicks at the userinterface, the data may be automatically assembled into a chronologicalseries of events that visually portrays a user's activities along atravel route, together with text, pictures and video.

A device configured according to the subject technology may also beconfigured by the user to automatically send the recorded data to acentralized location over a selected period of days as part of thecollection process. For example, during a trip, a smart phone may beconfigured to record and store location data, along with pictures,video, and/or text messages produced over a selected time frame, for thepurpose of creating an electronic journal. The electronic journal maythen be compiled from the data, by software executed on the smart phoneor at a location associated with the stored data, at any point duringthe trip or at its completion.

FIG. 1 is an exemplary diagram of a system for automatically generatingan electronic journal, including a user interface and a data manager formanaging a variety of data, according to one aspect of the subjecttechnology. System 100 includes a data manager 101 for generating anelectronic journal 102 from the integration of one or more data sources.In some aspects, one or more data devices 103 (for example, digitalcamera, smart phone, GPS device, computer, file server, tablet computer,PDA, or the like) may be connected to data manager 101 via a dataconnection channel 104. In one aspect, data manager 101 may include aprocessor configured to execute code or instructions to perform theoperations and functionality described herein (see, for example, FIG.6). In another aspect, data manager 101 may include software executableby a computer-enabled device (for example, a personal computer, tabletcomputer, server, PDA, smart phone, GPS device, or the like) that, whenexecuted, configures the computer-enabled device to perform theoperations and functionality described herein. In one aspect, dataconnection channel 104 may be a wired connection (for example, a networkconnection, USB, SATA, FireWire, SCSI, or the like) or a wirelessconnection (for example, cellular, Bluetooth, or the like).

Other data sources operably connected to data manager 101 may include aremote server 105 (for example, a file server, data cloud, database,web-blog, web-service, or the like), a social network 106 (for example,at Facebook, Twitter, Google Buzz, and the like), online picture storage107 (for example, Picasa, Flickr, or the like), and/or other systemswhere data has previously been stored and/or uploaded for otherpurposes. In some aspects, a user interface 108 may be integrated withdata manager 101 to provide a means for the easy collection of the datarecorded by the various data sources. In one example, user interface 108may be aggregated by a data device 103 (for example, on a smart phone)to allow the easy uploading of images and other data recorded by datadevice 103 to data manager 101 and/or remote data sources (for example,remote server 105). In this regard, data manager 101 may collect GPSlocation data recorded by a GPS-enabled data device 103, and furtherintegrate with a social network to collect data that was posted to thesocial network over a period of time. In one aspect, a user may setparameters at user interface 108 to configure data manager 101 to onlycollect data over a predetermined time frame (for example, May 17-19),and/or to only collect data that is associated with a particular subjector tag. Once collected, the GPS location data and other data may then becombined by data manager 101 to generate electronic journal 102.

In another aspect, data manager 101 (and/or database 109) may beintegrated with a data cloud (for example, on a remote server). Recordeddata may be uploaded to the cloud from time to time or on a period orreal-time basis. Accordingly, data manager 101 may be configured toautomatically receive the data without further interaction and/orconfiguration via user interface 108. For example, a data device 103(for example, a smart phone) may be integrated with data manager 101(for example, via software running on the smart phone) and configured toautomatically provide GPS location data to data manager 101 while itsuser is on a trip, and/or over a period of time. In one aspect, datamanager 101 may be integrated with disparate data sources such that eachtime data is stored or posted to those sources the data is automaticallytransmitted to data manager 101 and included in electronic journal 102.For example, if a user has configured data manager 101 to generate anelectronic journal of a mountain climbing trip, each time a message orphoto pertaining to mountain climbing is posted to the user's socialnetwork page the message or photo may be transmitted to data manger 101.

In some aspects, data manager 101 may be configured to aggregaterecorded data that is collected into a series of events that visuallyportrays a user's activities along a travel route. In this regard, thereceived GPS location data may include timestamp data that may beassociated with timestamp data from the other collected data (forexample, digital pictures, video, text messages, blog posts, and thelike) recorded at specific points along a route over a period of time.From this data, data manager 101 may generate a virtual trail oflocation points with each point being associated with one or morephotos, videos, text messages, blog posts, or the like.

FIG. 2 is an exemplary diagram of an automatically generated electronicpublication according to one aspect of the subject technology. In thedepicted example, an electronic journal 201 (for example, in an onlineformat) is generated to include an interactive map 202, with a virtualtravel route 203 superimposed on interactive map 202. At one or morepoints along route 203, electronic journal 201 may include a collectionof notes, pictures, and or other data arranged as events 204. In oneaspect, hovering a pointing device over a representation of an event 204may cause interactive map 202 to activate and display a dialog 205,including one or more image or video thumbnails 206 and/or textassociated with event 204. In one aspect, dialog 205 may include one ormore buttons 207 for moving through a series of images or the likewithin dialog 205. In another aspect, selecting dialog 205 may display apage of details associated with event 205. For example, clicking ondialog 205 with a mouse may cause a webpage to appear that includes allrecorded data associated with event 204 in a blog format.

In some aspects, the collected data is compiled to generate anelectronic journal 201 having a format of a chronological story, and thechronological story displayed as part of, or in connection with, aninteractive map 202. In the depicted example, electronic journal 201 mayinclude multiple components, such as a map perspective 202, eventdialogs 205 (including for example, a video stream, text, and/or one ormore pictures arranged as a slide show), and/or a blog. In one aspect, acondensed blog 208 may also be displayed in connection with map 202. Asin the depicted example, condensed blog 208 may be organizedchronologically by event 204 and displayed on a side and apart from map202, and such that the contents of events 204 are sequentially listed todepict a storyline associated with virtual travel route 203.

Interactive map 202 may be generated by data manager 101, or, in otheraspects, may be an interactive internet map generated by a remote serverand/or third party (for example, Google Maps, Google Earth, or ageographically accurate virtual world) and integrated by or with datamanager 101. Virtual travel route 203 may be constructed from thecollected GPS location data, previously described. Virtual travel route203 may also be constructed from other data. For example, the system mayuse face recognition and/or location recognition software and/orhardware to determine one or more subjects of stored photos and/or videodata. In one example, a photo (for example, a digital picture) of aknown location may be processed by location recognition software togenerate coordinates of the known location. Those coordinates may thenbe used or included with coordinates collected from other means (forexample, GPS location data, known locations recognized from otherphotos, manually entered data, or the like) to construct virtual travelroute 203.

In further aspects, an event 204 may be determined by comparingcollected data with a respective cluster of data having similarfeatures. For example, an event 204 may be determined by one or moredata having a similar meta-data (for example, timestamps within acertain delta of each other, captured substantially at the samelocation, or the like). In another example, an event may be inferred byclusters of photos and/or videos taken of the same subject (for example,determined by computer-enabled image recognition and/or comparisonprocesses). An example subject may include a person's face. System 100may compare the face to faces recognized in other photos to determinethat one or more photos were taken of the same person. In anotherexample, color patterns and/or coordinates received from GPS informationmay determine that one or more photos are of the same landmark. To thisend, an event may be created and information about the landmark may beretrieved (for example, from a database or known online storagelocation) and included as part of the event. In some aspects, one ormore photos may be compared to determine whether they are substantiallysimilar using color patterns and/or color comparisons. Similar photosmay then be included as part of an event 204.

System 100 may also be configured to analyze GPS information todetermine a mode of transit, and then include that mode of transit inthe generation of journal 102, for example, its text and/or itsformatting. In one aspect, a GPS track may determine a speed of travel,elevation, whether the user is ascending or descending, and/or method oftravel (for example, by boat, land, or by air). For example, ondetecting a consistent range of speed over a certain land location (forexample, over a trail or rough terrain), data manager 101 may determinethe trip was likely to be a bicycle trip. Data manager 101 may theninclude in journal 102 terms like “ride”, “rest stop”, “sprint”,“climb”, and/or “decent” to describe parts of the route. In anotherexample, if the range of speed is at a walking speed through a nationalpark, terms such as, for example, “hike” and “trail” may be used,reserving “climb” for much steeper ascents. In some aspects, journal 102may include an elevation profile (for example, for hilly terrain). Ifthe trip is determined to be by air, train, or boat, system 100 mayattempt to access a known network location (for example, a travelservice) to match the GPS track to a known flight, train or vesselhaving the same or substantially similar route, and include informationrelevant to the detected transportation. For example, if the trip isdetermined to match a known path of a cruise ship, the name and photo ofthe cruise ship may be included as part of journal 102.

Data manager 101 may be further configured to include, for example, inthe generation of text, reverse geocodes determined from comparing theGPS track to known geographical locations. In this aspect, names ofplaces or geographic features may be associated with a set of GPScoordinates, and, for example, stored in a database 109 for retrieval bydata manager 101. In generating a chronological story for a bicyclingtrip, a day trip may be characterized as “a ride around Lake Merced” or“a ride up Mount Tam.” A multi-week bike tour might be characterized as“a tour from Seattle to San Diego,” and an individual day might bepresented as “Day 3: Astoria to Cape Lookout State Park.” Thecharacterizations may be included in an event 204, or may characterize aseries of events 204 or a group of activities over a certain timeperiod, or the like.

FIG. 2 is merely representative of one style of electronic journal 201that may be generated using the subject technology. In other aspects,the data collected by data manager 101 may be compiled intothree-dimensional mapping code (for example, KML) for rendering athree-dimensional geographical tour (for example, Google Earth tour)whereby a camera may fly from point to point, showing recorded visualdata (for example, pictures, video, text, and/or event dialog 205) ateach point. In a further aspect, electronic journal 201 may include abook format, including a map overview on a first page, and an event 204,or a day of activities, represented by each subsequent page. Thoseskilled in the art will recognize that other electronic journal formatsmay be generated by data manager 101 without departing from the scope ofthe subject technology. In a further aspect, electronic journal 201 mayinclude a link 207 for switching between map styles and/or journalformats.

FIG. 3 is an exemplary diagram of associating GPS data from multiplejournal authors according to one aspect of the subject technology. Datamanager 101 may enable the collaboration of multiple users toparticipate in the same electronic journal based on similar collecteddata. In one aspect, data manager 101 may determine a confidence levelthat two or more users are on a joint adventure (and/or interactingtogether) based, in part, on manual association at user interface 108,similar GPS patterns, the number of photos taken at a specific locationand/or at a particular time, and/or the like. In the depicted example,the system may determine that a first traveling user using a first datasource 301 and a second traveling user using a second data source 302are on a joint adventure based on GPS data 303 collected from the firstand second data sources. Data source 301 may determine that the firstuser travelled from point A to G, passing through points C and D.Likewise, data source 302 may determine that the second user travelledfrom point A to G, passing through points B, D, E, F, and G. If commonpoints A, D, and G were visited at substantially the same time, aninitial confidence level may be determined that both users were on ajoint adventure. In one aspect, the confidence level may be increased asmore common data points and times become available. In another aspect,the system may also use a text classifying system (for example, similarto that used to detect spam) and/or image recognition software todetermine similarity or non-similarity between text and/or image datagenerated by two or more users to determine a higher or lower confidencelevel.

Once a joint adventure is determined, the system and method may use afirst user's data to substitute for the temporary loss of data from asecond user. For example, the second user's GPS signal may be lost orturned off during a trip. Based on similar patterns recognized fromother collected data (for example, GPS and/or photo data from the firstuser), data manager 101 may fill in GPS coordinates and/or storylinesfor the data omitted during the period of time the data connection orinformation was lost. With reference to the depicted example, it may beunknown whether the first user travelled through points B, E, and F (dueto loss of signal, shutdown of the GPS device, or the like). If a jointreference has been determined to include the first and second usersbetween point A and point G, then a high confidence level may bedetermined that the first user also stopped at points B, E, and F.Accordingly, data from second source 302 may be used to supplement datafrom first source 301 and vice versa when generating the interactive map(for example, map 202) and/or its associated chronological story.

FIG. 4 is a flowchart illustrating a process for generating aninteractive journal according to one aspect of the subject technology.In step 401, GPS data is received by the system from one or more datadevices. As described previously, GPS data may be manually entered,received over a wired connection from one or more data devices, receivedfrom one or more third-party servers, received from a central database,or the like. In step 402, a travel route and a travel period isdetermined from the GPS data. The travel route may include a virtualtrail of location points (for example, virtual travel route 203), andthe travel period may be determined from the starting time and endingtime of the travel route, or segment thereof. In step 403, the systemreceives one or more digital pictures (for example, digital images orvideos) from one or more data devices. It is not necessary that thedigital pictures be received in any particular order. It is also notnecessary that the digital pictures be received prior to determining thetravel route and/or travel period. In some aspects, the digital pictures(and/or other data such as text messages) may be stored in a cloud orretrieved from third-party service providers (for example, a socialnetwork or online picture site).

In step 404, image data is extracted from the one or more digitalpictures. The image data may include one or more timestamps, eachcorresponding to a respective picture. In step 405, the image data iscorrelated with the travel route and the travel period to generate oneor more travel events occurring during the travel period. In one aspect,this may be done by matching a timestamp associated with a digitalpicture to a timestamp associated with a GPS location data point. Inanother aspect, this may be done by determining that the timestamps of aplurality of images fall within substantially the same time period, andthen matching the time period with one or more GPS location data points.In step 405, a chronological storyline is generated. The chronologicalstoryline may be representative of the one or more travel events alongthe travel route and operable to be displayed in combination with aninteractive map that includes the travel route. In one aspect, asillustrated by FIG. 2, the chronological storyline may display at leastone digital picture in connection with displaying the one or more travelevents 204 (for example, in blog 206, and/or in a graphical dialog 205activated by clicking on a graphic representation of the event 204).

FIG. 5 is an exemplary diagram of a system 500 for automaticallygenerating an electronic journal, including a user interface foruploading a variety of data, according to one aspect of the subjecttechnology. System 500 may be one implementation of the componentsdescribed with respect to FIG. 1. System 500 may include, for example, acomputer 501 that may be connected to one or more local data devicesand/or one or more remote data sources via a network 502, such as theInternet. Computer 501 may be a personal computer, server computer,smart phone, notepad computer, or similar device capable of connectingto one or more data devices and/or a network (for example, via a wiredor wireless network connection, cellular connection, or the like). Thelocal data devices may be connected to computer 501 by one or more dataconnections 503 (for example, USB, SATA, FireWire, SCSI, Bluetooth,network connection, or the like). In one aspect, image data may bereceived into computer 501 from a digital camera 504. In another aspect,video data may be received from a video camera 505. In a further aspect,image, video, and/or GPS data may be received from a smart device 506(for example, a smart phone).

In one aspect, computer 501 may display a user interface 507 (forexample, user interface 108) to be used by a user 508. User interface507 may be used to upload and/or integrate a variety of recorded data(including, for example, digital photos, videos, GPS tracks, textmessages, blog posts, social network posts, check-in applications, andthe like). In one aspect, a data source selection screen 509 isdisplayed by user interface 507 and may include a selectable menu forthe selection of a data source. On making a selection at selectionscreen 509, computer 501 may be configured to access one or moreconnected data sources and receive the recorded data. In one aspect,selection screen 509 may be used to download recorded data from, orupload recorded data to, a remote server 510. In one aspect, remoteserver 510 may store the recorded data on a database 511. In anotheraspect, user interface 507 may also be configured to connect system 500(and/or, for example, data manager 101) with systems onto which data haspreviously been stored and/or uploaded for other purposes (for example,a social network). In some aspects, a connection from computer 501 toremote server 510 may require user 508 to provide authenticationcredentials to server 510.

In one aspect, recorded data may be received by and/or stored in a datacloud (for example, on a server 510 and/or a database 511). In oneaspect, the system (for example, data manager 101) may be integratedwith one or more services providers (for example, at Facebook, Twitter,Google Buzz, Flickr, and the like) to receive recorded data. Parametersmay be set at user interface 507 for configuring the system on how datais collected and integrated with system 500 (and/or, for example, datamanager 101). For example, a user may configure the cloud toautomatically receive data, including a predetermined meta-data tag,when posted to a social network or other online image and/or video host.In another example, a smart device 506 (for example, a smart cell phoneor GPS device) may be configured to automatically provide GPS locationdata to the system (for example, via a wireless or cellular connection512) at predetermined intervals (for example, a GPS breadcrumb).

FIG. 6 is a diagram illustrating an exemplary server system forautomatically generating an electronic journal, including a processorand other internal components, according to one aspect of the subjecttechnology. In some aspects, a computerized device 600 (for example,computer 501, server 510, or data manager 101) includes several internalcomponents such as a processor 601, a system bus 602, read-only memory603, system memory 604, network interface 605, I/O interface 606, andthe like. In one aspect, processor 601 may also be communication with astorage medium 607 (for example, a hard drive, database, or data cloud)via I/O interface 606. In some aspects, all of these elements of device600 may be integrated into a single device. In other aspects, theseelements may be configured as separate components.

Processor 601 may be configured to execute code or instructions toperform the operations and functionality described herein, managerequest flow and address mappings, and to perform calculations andgenerate commands. Processor 601 is configured to monitor and controlthe operation of the components in server 600. The processor may be ageneral-purpose microprocessor, a microcontroller, a digital signalprocessor (DSP), an application specific integrated circuit (ASIC), afield programmable gate array (FPGA), a programmable logic device (PLD),a controller, a state machine, gated logic, discrete hardwarecomponents, or a combination of the foregoing. One or more sequences ofinstructions may be stored as firmware on a ROM within processor 601.Likewise, one or more sequences of instructions may be software storedand read from system memory 605, ROM 603, or received from a storagemedium 607 (for example, via I/O interface 606). ROM 603, system memory605, and storage medium 607 represent examples of machine or computerreadable media on which instructions/code may be executable by processor601. Machine or computer readable media may generally refer to anymedium or media used to provide instructions to processor 601, includingboth volatile media, such as dynamic memory used for system memory 604or for buffers within processor 601, and non-volatile media, such aselectronic media, optical media, and magnetic media.

In some aspects, processor 601 is configured to communicate with one ormore external devices (for example, via I/O interface 606). Processor601 is further configured to read data stored in system memory 604and/or storage medium 607 and to transfer the read data to the one ormore external devices in response to a request from the one or moreexternal devices. The read data may include one or more web pages and/orother software presentation to be rendered on the one or more externaldevices. The one or more external devices may include a computing systemsuch as a personal computer, a server, a workstation, a laptop computer,PDA, smart phone, and the like. Alternatively, one or more externaldevices may include an electronic device such as a digital camera, adigital audio player, a digital video recorder, and the like.

In some aspects, system memory 604 represents volatile memory used totemporarily store data and information used to manage device 600.According to one aspect of the subject technology, system memory 604 israndom access memory (RAM) such as double data rate (DDR) RAM. Othertypes of RAM also may be used to implement system memory 504. Memory 604may be implemented using a single RAM module or multiple RAM modules.While system memory 604 is depicted as being part of device 600, thoseskilled in the art will recognize that system memory 604 may be separatefrom device 600 without departing from the scope of the subjecttechnology. Alternatively, system memory 604 may be a non-volatilememory such as a magnetic disk, flash memory, peripheral SSD, and thelike.

I/O interface 606 may be configured to be coupled to one or moreexternal devices, to receive data from the one or more external devicesand to send data to the one or more external devices. I/O interface 606may include both electrical and physical connections for operablycoupling I/O interface 606 to processor 601, for example, via the bus602. I/O interface 606 is configured to communicate data, addresses, andcontrol signals between the internal components attached to bus 602 (forexample, processor 601) and one or more external devices (for example, ahard drive). I/O interface 606 may be configured to implement a standardinterface, such as Serial-Attached SCSI (SAS), Fiber Channel interface,PCI Express (PCIe), SATA, USB, and the like. I/O interface 606 may beconfigured to implement only one interface. Alternatively, I/O interface606 may be configured to implement multiple interfaces, which areindividually selectable using a configuration parameter selected by auser or programmed at the time of assembly. I/O interface 606 mayinclude one or more buffers for buffering transmissions between one ormore external devices and bus 602 and/or the internal devices operablyattached thereto.

Those of skill in the art would appreciate that the various illustrativeblocks, modules, elements, components, methods, and algorithms describedherein may be implemented as electronic hardware, computer software, orcombinations of both. To illustrate this interchangeability of hardwareand software, various illustrative blocks, modules, elements,components, methods, and algorithms have been described above generallyin terms of their functionality. Whether such functionality isimplemented as hardware or software depends upon the particularapplication and design constraints imposed on the overall system.Skilled artisans may implement the described functionality in varyingways for each particular application. Various components and blocks maybe arranged differently (e.g., arranged in a different order, orpartitioned in a different way) all without departing from the scope ofthe subject technology.

It is understood that the specific order or hierarchy of steps in theprocesses disclosed is an illustration of exemplary approaches. Basedupon design preferences, it is understood that the specific order orhierarchy of steps in the processes may be rearranged. Some of the stepsmay be performed simultaneously. The accompanying method claims presentelements of the various steps in a sample order, and are not meant to belimited to the specific order or hierarchy presented.

The previous description is provided to enable any person skilled in theart to practice the various aspects described herein. The previousdescription provides various examples of the subject technology, and thesubject technology is not limited to these examples. Variousmodifications to these aspects will be readily apparent to those skilledin the art, and the generic principles defined herein may be applied toother aspects. Thus, the claims are not intended to be limited to theaspects shown herein, but is to be accorded the full scope consistentwith the language claims, wherein reference to an element in thesingular is not intended to mean “one and only one” unless specificallyso stated, but rather “one or more.” Unless specifically statedotherwise, the term “some” refers to one or more. Pronouns in themasculine (e.g., his) include the feminine and neuter gender (e.g., herand its) and vice versa. Headings and subheadings, if any, are used forconvenience only and do not limit the invention.

The previous description has provided examples of using GPS signals,coordinates, devices, and tracks. However, as previously described, oneor more other technologies and location-aware devices may be used inaddition to or instead of GPS-related information and devices todetermine a geographic location of a user. Thus, it should be understoodthat location coordinates can be analyzed as discussed herein toidentify travel routes and events regardless of the technology ortechnologies used to determine the location coordinates. Furthermore,regardless of how location data is obtained, appropriate efforts can betaken to protect a user's privacy and other rights. For example,collection and use of location data may be on an opt-in basis so thatdata is not collected at all unless the user has granted permission,with the location data stored and handled in a secure manner. Whencollected, the location and other data can be used according to userpreferences and/or permissions. For example, sharing of the locationdata and information derived from the location data (for example, thestoryline and/or journal created by the subject technology) may becontrolled by the user.

The predicate words “configured to”, “operable to”, and “programmed to”do not imply any particular tangible or intangible modification of asubject, but, rather, are intended to be used interchangeably. Forexample, a processor configured to monitor and control an operation or acomponent may also mean the processor being programmed to monitor andcontrol the operation or the processor being operable to monitor andcontrol the operation. Likewise, a processor configured to execute codecan be construed as a processor programmed to execute code or operableto execute code.

A phrase such as an “aspect” does not imply that such aspect isessential to the subject technology or that such aspect applies to allconfigurations of the subject technology. A disclosure relating to anaspect may apply to all configurations, or one or more configurations.An aspect may provide one or more examples. A phrase such as an aspectmay refer to one or more aspects and vice versa. A phrase such as an“embodiment” does not imply that such embodiment is essential to thesubject technology or that such embodiment applies to all configurationsof the subject technology. A disclosure relating to an embodiment mayapply to all embodiments, or one or more embodiments. An embodiment mayprovide one or more examples. A phrase such as an “embodiment” may referto one or more embodiments and vice versa. A phrase such as a“configuration” does not imply that such configuration is essential tothe subject technology or that such configuration applies to allconfigurations of the subject technology. A disclosure relating to aconfiguration may apply to all configurations, or one or moreconfigurations. A configuration may provide one or more examples. Aphrase such as a “configuration” may refer to one or more configurationsand vice versa.

The word “exemplary” is used herein to mean “serving as an example orillustration.” Any aspect or design described herein as “exemplary” isnot necessarily to be construed as preferred or advantageous over otheraspects or designs.

All structural and functional equivalents to the elements of the variousaspects described throughout this disclosure that are known or latercome to be known to those of ordinary skill in the art are expresslyincorporated herein by reference and are intended to be encompassed bythe claims. Moreover, nothing disclosed herein is intended to bededicated to the public regardless of whether such disclosure isexplicitly recited in the claims. No claim element is to be construedunder the provisions of 35 U.S.C. §112, sixth paragraph, unless theelement is expressly recited using the phrase “means for” or, in thecase of a method claim, the element is recited using the phrase “stepfor.” Furthermore, to the extent that the term “include,” “have,” or thelike is used in the description or the claims, such term is intended tobe inclusive in a manner similar to the term “comprise” as “comprise” isinterpreted when employed as a transitional word in a claim.

1. A non-transitory machine-readable medium including machine-executableinstructions for a method of generating an electronic journal, themethod comprising: receiving location data from one or more datadevices; determining a travel route from the location data; receiving aplurality of digital pictures generated along the travel route;determining a cluster of digital pictures in the plurality of digitalpictures are of a same image subject based on timestamps of the digitalpictures and an image comparison of the digital pictures; extractingmeta-data from the cluster of digital pictures; and correlating themeta-data from the cluster of digital pictures with the location dataassociated with the travel route to generate one or more travel eventscorresponding to the cluster of digital pictures, each travel eventincluding one or more data recordings associated with a location on thetravel route.
 2. The machine-readable medium of claim 1, furthercomprising: providing an interactive map including the travel route andone or more event representations positioned along the travel route,each of the event representations operable to, when selected, displayone or more respective travel events.
 3. (canceled)
 4. Themachine-readable medium of claim 1, wherein the meta-data includes oneor more first timestamps, and correlating the meta-data from the clusterof digital pictures with the location data associated with the travelroute includes associating a first timestamp with a second timestampassociated with the location data.
 5. The machine-readable medium ofclaim 4, wherein a travel event is generated when two or more of thefirst timestamps are substantially within a same predetermined frame oftime, the predetermined time frame being substantially at a respectivesecond timestamp.
 6. The machine-readable medium of claim 2, furthercomprising: receiving one or more text messages associated with thetravel route.
 7. The machine-readable medium of claim 6, furthercomprising: generating a narrative associated with the one or moretravel events, the narrative including sequentially displaying at leasta portion of the one or more text messages apart from the interactivemap.
 8. The machine-readable medium of claim 7, further comprising:determining a mode of transportation from the location data; andautomatically including text related to the mode of transportation withthe narrative. 9.-13. (canceled)
 14. The machine-readable medium ofclaim 1, wherein the one or more data devices includes a smart phone anda remote server, wherein the location data is received from the smartphone, and the one or more data recordings is received from the remoteserver.
 15. The machine-readable medium of claim 2, wherein theinteractive map is a three-dimensional geographic representation of thetravel route.
 16. The machine-readable medium of claim 1, wherein thelocation data is GPS location data.
 17. A computer implemented method ofgenerating an electronic journal, comprising: receiving, by one or morecomputing devices, location data from one or more data devices;determining, by the one or more computing devices, a travel route and atravel period from the location data; receiving, by the one or morecomputing devices, one or more digital pictures associated with one ormore activities related to the travel route; extracting, by the one ormore computing devices, meta-data from the one or more digital pictures,the meta-data including one or more timestamps; correlating, by the oneor more computing devices, the meta-data with the location dataassociated with the travel route and the travel period to generate oneor more travel events; and generating, by the one or more computingdevices, a chronological storyline representative of the one or moretravel events along the travel route and operable to be displayed incombination with an interactive map representative of the travel route,wherein the chronological storyline displays at least one of the one ormore digital pictures in connection with displaying the one or moretravel events.
 18. The computer implemented method of claim 17, whereinthe one or more timestamps associated with the meta-data comprises oneor more first timestamps, and correlating the meta-data with thelocation data associated with the travel route and the travel periodincludes associating a first timestamp with a second timestampassociated with the location data.
 19. The computer implemented methodof claim 18, wherein a travel event is generated when two or more of thefirst timestamps are substantially within a same predetermined frame oftime, the predetermined time frame being substantially at a respectivesecond timestamp.
 20. The computer implemented method of claim 17,further comprising: receiving one or more text messages associated withthe travel route.
 21. The computer implemented method of claim 20,further comprising: generating a narrative associated with thechronological storyline, the narrative including sequentially displayingat least a portion of each of the one or more text messages according toa respective timestamp.
 22. The computer implemented method of claim 17,further comprising: determining a mode of transportation from thelocation data; and automatically including text related to the mode oftransportation with the chronological storyline.
 23. (canceled)
 24. Thecomputer implemented method of claim 17, wherein extracting themeta-data from the one or more digital pictures includes, for each ofthe one or more digital pictures, determining a subject of the image byan image recognition process.
 25. The computer implemented method ofclaim 24, wherein correlating the meta-data with the location dataassociated with the travel route includes associating a respectivesubject with a known location associated with the travel route.
 26. Thecomputer implemented method of claim 24, wherein a travel event isgenerated when two or more respective subjects or digital pictures aresubstantially the same.
 27. The computer implemented method of claim 17,wherein displaying the one or more travel events comprises: receiving aselected location of the travel route; and displaying a dialog at theselected location in response to receiving the selected location,wherein the dialog displays the at least one of the one or more digitalpictures.
 28. The computer implemented method of claim 17, whereinreceiving the location data from the one or more data devices comprisesreceiving a plurality of first GPS location points representative of afirst travel route from a first data device, and receiving a pluralityof second GPS location points representative of a second travel routefrom a second data device, the plurality of second GPS location pointsbeing fewer in number than the plurality of first GPS location points,and wherein one or more first travel events associated with the firstdevice is not associated with the second device, the method furthercomprising: on making a determination that the second travel route issubstantially similar to the first travel route, associating the one ormore first travel events with the second data device.
 29. The computerimplemented method of claim 17, wherein the location data is GPSlocation data.
 30. A system for generating an electronic journal,comprising: one or more processors; a memory including software that,when executed by the one or more processors, causes the one or moreprocessors to: receive GPS data from one or more location-aware datadevices; determine a travel route and a travel period from the GPS data;receive one or more digital pictures associated with one or moreactivities related to the travel route; extract image data from the oneor more digital pictures, the image data including one or moretimestamps; correlate the image data with the travel route and thetravel period to generate one or more travel events occurring during thetravel period; and generate a chronological storyline representative ofthe one or more travel events along the travel route and operable to bedisplayed in combination with an interactive map representative of thetravel route, wherein the chronological storyline displays at least oneof the one or more digital pictures in connection with displaying theone or more travel events.
 31. The system of claim 30, wherein thesoftware, when executed, further causes the one or more processors to:receive one or more text entries, each of the text entries including atext entry time; and correlate the one or more text entries with one ofthe travel route, travel period, and one or more travel events togenerate a narrative associated with the chronological storyline, thenarrative including at least a portion of each of the one or more textentries according to a respective text entry time.
 32. The system ofclaim 30, wherein the software, when executed, further causes the one ormore processors to: determine a mode of transportation from the locationdata; and automatically include text related to the mode oftransportation with the chronological storyline.